Спринт 2/18 → Тема 3/6: Настройка окружения: Python, IDE, venv → Урок 2/6
Знакомство с командной строкой
Почти всеми современными программами можно управлять через графический интерфейс (англ. Graphical user interface, GUI), нажимая на кнопки, иконки и другие элементы, предназначенные для взаимодействия с программой.
Но программисты часто сталкиваются с задачами, которые невозможно выполнить через графический интерфейс, например, когда нужно настроить что-то
на сервере. Решать такие задачи помогает командная строка.Командная строка (иначе — терминал или консоль) — это программа, которая позволяет управлять компьютером посредством текстовых команд. Из командной строки вы можете просматривать содержимое папок, создавать и удалять файлы, скачивать данные с серверов, устанавливать и запускать программы.
Командная строка — это предок графических интерфейсов.
Командная строка на вашем компьютере
Для управления операционной системой из командной строки используются командные оболочки. Они передают ваши команды операционной системе или программам и возвращают ответ от них. Для каждой операционной системы по умолчанию есть своя командная оболочка:
- для Windows — PowerShell и cmd;
- для Linux — Bash;
- для macOS — Zsh (версия Bash).
Командные оболочки Bash и Zsh поддерживают одинаковый набор команд, который и будет использоваться в теории курса. А вот набор команд для PowerShell отличается. Поэтому пользователям Windows нужно установить приложение Git Bash, которое поддерживает необходимую систему команд для решения задач в курсе.
Скачайте установочный файл приложения и запустите его. В процессе установки оставьте все настройки по умолчанию.
Запуск терминала
Если вы работаете на macOS или Linux,
запустите программу «Терминал», а если на Windows — Git Bash.В открывшемся окне вы увидите:
- имя вашего компьютера;
- имя, под которым вы авторизовались в компьютере;
- путь к директории (так программисты называют папки, ещё используется слово «каталог»), в которой вы сейчас находитесь; символ «тильда»
~означает, что вы находитесь в домашней директории; - символ доллара
$— приглашение ко вводу команд.
В зависимости от операционной системы, порядок и вид этой информации может различаться:
BASH
Где я?
При работе с браузером или офисными программами вам не нужно учитывать структуру папок в системе. Вы просто открываете программу и работаете (пишете текст или читаете статью на любимом сайте).
Важное отличие командной строки в том, что при работе с ней:
- вы всегда работаете из какой-то директории, а не «просто в программе»;
- часто нужно знать, в какой директории вы находитесь сейчас: многие команды и запросы вы отправляете именно из определённой директории.
Чтобы узнать, в какой директории вы сейчас находитесь, введите в терминал после знака
$ команду pwd (от англ. print working directory — «покажи рабочую папку»).В Git Bash под Windows выведется что-то такое:
В Linux — такое:
А в MacOS — такое:
Подобный вывод означает, что вы находитесь в директории своего пользователя.
Обратите внимание, что вывод в терминале в разных ОС отличается. Этому есть причина: разная организация файловой системы.
Файлы и директории организованы в иерархическую, «древовидную» структуру.
В Windows файловая система разделена на логические разделы — диски, у каждого из них есть своя корневая директория.
В Linux и macOS основная директория файловой системы — «корневая», одна. Все файлы операционной системы находятся в корневой директории — родительской для других папок и файлов.
Что внутри?
Командная строка позволяет выполнять все те же действия, что и графический интерфейс операционной системы:
- перемещаться по файловой системе;
- создавать, удалять и редактировать файлы;
- устанавливать и запускать программы;
- просматривать и изменять права доступа к файлам и директориям;
- и многое другое.
Вы уже узнавали с помощью команды
pwd, в какой директории вы находитесь. Ваш следующий шаг — узнать, что в этой директории содержится. Для этого используется команда
ls (от англ. list directory contents — «вывести список содержимого каталога»). Введите её в терминал. Выведется список директорий и файлов, которые содержатся в вашей текущей директории:Ключи
Любая команда в Bash запускает какую-то утилиту, программу, и работу большинства программ можно настраивать. Для этого существуют «ключи», дополнительные «пояснения» к команде.
Чтобы узнать, какие ключи доступны для той или иной команды, нужно вызвать их список. Для этого используется универсальный ключ для Windows и Linux
--help, для MacOS используйте командой man.Находясь в любой директории, введите команду и через пробел — универсальный ключ (ключи всегда отделяются от команды пробелом):
BASH
Вывод в терминале будет таким:
Сначала идёт шаблон ввода команды, потом её описание, а затем те самые ключи, их ещё называют «аргументами».
Аргументы можно вводить в короткой (с одним дефисом) и в длинной форме (с двумя дефисами). Короткую запись удобнее использовать, а длинную проще понять, так как она отражает суть применения ключа для команды.
Например, если нужно вывести список директорий в обратном алфавитном порядке, то быстрее будет ввести команду
ls -r, чем команду ls --reverse. В то же время запись команды ls --reverse намекает на выполняемое ей действие — reverse в переводе с англ. дословно означает «обратный». Какую форму выбрать — решать вам.У некоторых ключей есть и короткая, и длинная форма, а у некоторых только одна. Запутаться — проще простого, поэтому всегда старайтесь помнить об универсальном ключе
--help. Он придёт к вам на помощь.Обратите внимание, что при использовании короткого ключа важен регистр (прописная или строчная буква). Например, команда
ls -r отсортирует и выведет содержимое директории в обратном порядке, а команда ls -R выведет содержимое не только самой директории, но и всех папок, которые в ней содержатся.Ключи также можно комбинировать:
BASH
Командная строка — полезный инструмент. И хотя поначалу он кажется сложным, со временем вы привыкнете к нему 🙂